home *** CD-ROM | disk | FTP | other *** search
/ Personal Computer World 2009 February / PCWFEB09.iso / Software / Freeware / ReNamer 5.40 / ReNamer.exe / {app} / Scripts / Serialize duplicates.pas < prev    next >
Pascal/Delphi Source File  |  2007-01-26  |  744b  |  36 lines

  1. var
  2.   Files: TStringsArray;
  3.  
  4. procedure Add(const S: WideString);
  5. begin
  6.   SetLength(Files, Length(Files)+1);
  7.   Files[Length(Files)-1] := S;
  8. end;
  9.  
  10. function Exists(const S: WideString): Boolean;
  11. var I: Integer;
  12. begin
  13.   Result := False;
  14.   for I:=0 to Length(Files)-1 do
  15.     if WideSameText(Files[I], S) then
  16.       begin Result := True; Break; end;
  17. end;
  18.  
  19. var
  20.   NewFileName: WideString;
  21.   Counter: Integer;
  22.  
  23. begin
  24.   Counter := 2;
  25.   NewFileName := FileName;
  26.   while Exists(NewFileName) do
  27.     begin
  28.     NewFileName := 
  29.       WideExtractBaseName(FileName) +
  30.       ' (' + IntToStr(Counter)+')' + 
  31.       WideExtractFileExt(FileName);
  32.     Counter := Counter + 1;
  33.     end;
  34.   FileName := NewFileName;
  35.   Add(FileName);
  36. end.